package com.jjyu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jjyu.entity.OrderItem;
import com.jjyu.entity.PointsLog;
import java.util.List;

public interface PointsLogService extends IService<PointsLog> {

    /**
     * 获取所有积分日志记录
     *
     * @return 积分日志列表
     */
    List<PointsLog> getAllPointsLog();

    /**
     * 根据用户ID获取积分日志记录
     *
     * @param userId 用户ID
     * @return 积分日志列表
     */
    List<PointsLog> getPointsLogByUserId(Integer userId);

    /**
     * 根据订单ID获取积分日志记录
     *
     * @param orderId 订单ID
     * @return 积分日志列表
     */
    List<PointsLog> getPointsLogByOrderId(Integer orderId);

    /**
     * 分页获取积分日志记录
     *
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @return 积分日志列表
     */
    List<PointsLog> getPointsLogByPage(int pageNum, int pageSize);

    Integer getTotalPointsByUserId(Integer userId);

    int insertPointsLogFromOrderItem(Integer userId, Integer pointsEarned, OrderItem orderItem);
}
